package sto.orz.json;

import java.util.Collection;

import sto.orz.html.form.Form;
import sto.orz.html.form.FormFactory;

// TODO use aop to process needless property?
public class JSONUtil {
	public static JSONAdapter jsonForm(String formname, Object object) {
		Form form = FormFactory.getForm(formname, object);
		JSONAdapter json = new JSONForm(form);
		return json;
	}

	public static JSONAdapter fromCollection(Collection c) {
		JSONAdapter json = new JSONPack(c);
		return json;
	}

	public static JSONAdapter fromObject(Object c) {
		JSONAdapter json = new JSONPack(c);
		return json;
	}

	public static JSONAdapter fromString(String js) {
		JSONAdapter json = new JSONPack(js);
		return json;
	}

	public static JSONAdapter response(String r) {
		JSONAdapter json = new JSONResponse(r);
		return json;
	}

	public static String format(JSONAdapter json) {
		return new JSONStringFormater(json.toJson()).toString();
	}
}
